From f1476f31fe2f03c8e73118d41d0c6c3eafd6218c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 5 Sep 2011 11:54:41 -0400 Subject: [PATCH] a11y: Fix up listener registration minimally For god-knows-what reason, at-spi is trying various formats of strings when registering listeners, triggering g_warnings() from gailutil code. Stop doing that. Also, don't leak temporary string arrays that are a side-effect of passing parameters around as formatted strings. https://bugzilla.gnome.org/show_bug.cgi?id=658168 --- gtk/a11y/gailutil.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gtk/a11y/gailutil.c b/gtk/a11y/gailutil.c index e9ca92b007..8cba1c21f3 100644 --- a/gtk/a11y/gailutil.c +++ b/gtk/a11y/gailutil.c @@ -81,12 +81,12 @@ add_listener (GSignalEmissionHook listener, } else { - g_warning("Invalid signal type %s\n", signal_name); + g_warning ("Invalid signal type %s\n", signal_name); } } else { - g_warning("Invalid object type %s\n", object_type); + g_warning ("Invalid object type %s\n", object_type); } return rc; } @@ -271,7 +271,10 @@ gail_util_add_global_event_listener (GSignalEmissionHook listener, split_string = g_strsplit (event_type, ":", 3); - rc = add_listener (listener, split_string[1], split_string[2], event_type); + if (g_strv_length (split_string) == 3) + rc = add_listener (listener, split_string[1], split_string[2], event_type); + + g_strfreev (split_string); return rc; } @@ -301,19 +304,19 @@ gail_util_remove_global_event_listener (guint remove_listener) } else { - g_warning("Invalid listener hook_id %ld or signal_id %d\n", - listener_info->hook_id, listener_info->signal_id); + g_warning ("Invalid listener hook_id %ld or signal_id %d\n", + listener_info->hook_id, listener_info->signal_id); } } else { - g_warning("No listener with the specified listener id %d", - remove_listener); + g_warning ("No listener with the specified listener id %d", + remove_listener); } } else { - g_warning("Invalid listener_id %d", remove_listener); + g_warning ("Invalid listener_id %d", remove_listener); } } -- 2.30.2